#e
#Title[MuR肽wv]
#Text[]
#Image[]
#BackGround[]
#BGM[]
#PlayLevel[Extra]
#ScriptVersion[2]
#Player[FREE]


script_enemy_main
{
let wt=180;
let usebomb=0;

	//GoɈxs镔
	@Initialize
	{
	//   eϐ

	//   XyJ[hf[^
	SetLife(800);
	SetScore(100000);
	SetDamageRate(30,  0);
	SetTimer(80);
	SetInvincibility(250);
	LoadGraphic("script\img\ExRumia.png");
	CutIn(KOUMA,"MuR肽wv",GetCurrentScriptDirectory~"..\img\cutin01.png",0,0,255,320);
	}
	//   ʒu܂ňړ
	SetMovePosition02(GetCenterX, GetCenterY-120, 60);

	BG_Standard;
	AtackTaskA;
	AtackTaskB;
	ControlTask;
	//G̃Ct0ɂȂ܂ŁA̕1t[1s
	@MainLoop
	{
		yield;

		SetGraphicRect(0,1,63,64);
		if(GetSpeedX<0){
			SetGraphicRect(128,1,191,64);
		}
		if(GetSpeedX>0){
			SetGraphicRect(192,1,255,64);
		}

		if(OnBomb==false){
			SetCollisionA(GetX, GetY, 32);
			SetCollisionB(GetX, GetY, 24);
			usebomb=0;
		}
		else{
			usebomb++;
		}
		if(usebomb==1){
			BombBarrier;
		}

	}
	
	//`惋[vB1t[1s
	@DrawLoop
	{
		SetColor(255,255,255);
		SetGraphicRect(64,1,127,64);
		SetAlpha(255);
		if(OnBomb==true){
			SetAlpha(96);
		}
		SetTexture("script\img\ExRumia.png");//摜͔q
		DrawGraphic(GetX(),GetY());
	}
		
	//GłuԂɈxs镔
	@Finalize
	{
		CreateItem(ITEM_BOMB,GetX,GetY);
		DeleteGraphic("script\img\ExRumia.png");
		DeleteGraphic(GetCurrentScriptDirectory ~"..img\back1.png");
		DeleteGraphic(GetCurrentScriptDirectory ~"..img\back2.png");
	}
	//XyJ[h̔wi
	//Ă悢
	@BackGround
	{
		BG_Simple;
	}

	task AtackTaskA{
		wait(120);
		let dir=10;
		let dirb=0;
		while(true){
			dirb=180;
			loop(64){
				CreateShot01(GetPlayerX,GetClipMaxY,rand(2,6),rand(-dir,dir)+270,rand_int(RED11,ORANGE11),60);
				let spd=rand(1,3);
				CreateShot12(GetPlayerX,GetClipMaxY,cos(dirb)*spd,sin(dirb)*spd,0,0.05,0,10,rand_int(RED05,ORANGE05),60);
				dirb+=360/128;
			}
			if(dir<20){dir+=1;}
			wait(wt);
		}
	}
	task AtackTaskB{
		let wtb=60;
		wait(160);
		while(true){
			let dir=7.5;
			loop(10){
				CreateShot01(GetX,GetY,2,90+dir,BLUE01,20);
				CreateShot01(GetX,GetY,2,90-dir,BLUE01,20);
				dir+=15
			}
			wait(wtb);
			if(wtb>30){wtb--;}
		}
	}


	task ControlTask{
		wait(250);
		while(GetEnemyLife>800&&GetTimer>20){yield;}
		wt=160;
		while(GetEnemyLife>600&&GetTimer>20){yield;}
		wt=140;
		while(GetEnemyLife>400&&GetTimer>20){yield;}
		wt=120;
		while(GetEnemyLife>200&&GetTimer>20){yield;}
		wt=100;
		while(GetTimer>20){yield;}
		wt=80;
	}

	#include_function".\function.txt"
}

